﻿using System.Collections;
using System.Collections.Generic;
using System.Linq;

namespace WPFLoaders
{
    public class ItemsGenerator : IEnumerable<int>
    {
        private int _items;

        public int Items { get { return _items; } set { _items = value; } }

        public bool Reverse { get; set; }

        private IEnumerable<int> GetItems()
        {
            for (int i = 0; i < _items; ++i)
                yield return i;
        }

        public IEnumerator<int> GetEnumerator()
        {
            if (Reverse)
                return GetItems().Reverse().GetEnumerator();

            return GetItems().GetEnumerator();
        }

        IEnumerator IEnumerable.GetEnumerator()
        {
            return GetEnumerator();
        }
    }
}
